In some situations, mobile devices may communicate with each other over an ad-hoc network. For example, laptop computers may be deployed in a location away from a permanent network infrastructure, but may still use the ad-hoc network to communicate. The devices may move out of range of each other, and data meant to be exchanged between the devices may be dropped rather than delivered. Thus, the conventional strategy is to discard the data destined for an out of range device. This often causes problems because the conventional strategy does not provide any recovery of the unreceived data if the out of range device moves back into range. For example, a laptop carried out of range for a time before returning to be within range of other devices on the ad-hoc network will not receive data sent to it while it was out of range.